/**
 * @description 存储数据
 * @param {*} key 本地缓冲中指定的key
 * @param {*} data 需要缓冲的数据
 */
export const setStorage = (key,data) => {
    try{
        wx.setStorageSync(key, data)
    }catch(error){
        console.error(`存储指定${key}数据发生了异常`,error)
    }
}
/**
 * @description 从本地读取指定key的数据
 * @param {*} key 本地缓冲中指定的key
 */
export const getStorage=(key)=> {
    try {
        const value = wx.getStorageSync(key)
        if(value){
            return value
        }
    } catch (error) {
        console.error(`读取指定${key}数据发生了异常`,error)
    }
}
/**
 * @description 从本地删除指定key的数据
 * @param {*} key 本地缓冲中指定的key
 */
export const removeStorage = (key) => {
  try {
      wx.removeStorageSync(key)
  } catch (error) {
    console.error(`删除指定${key}数据发生了异常`,error)
  }
}
/**
 * @description 从本地移除全部的数据
 */
export const clearStorage = () =>{
    try {
        wx.clearStorageSync()
    } catch (error) {
        console.error(`清除数据发生了异常`,error)
    }
}

/**
 * @description 异步将数据存储到本地
 * @param {*} key 本地缓冲中指定的key
 * @param {*} value 需要缓冲的数据
 */
export const asyncSetStorage = (key,data) => {
    return new Promise((resolve)=>{
       wx.setStorage({
           key,
           data,
           complete(res){
               resolve(res)
           }
       })
   })
}

/**
 * @description 异步从本地获取指定 key 的数据
 * @param {*} key 本地缓冲中指定的key
 */
export const asyncGetStorage = (key) => {
    return new Promise((resolve)=>{
        wx.getStorage({
            key,
            complete(res){
                resolve(res)
            }
        })
    })
 }

/**
 * @description 异步从本地移除指定 key 的数据
 * @param {*} key 本地缓冲中指定的key
 */
export const asyncRemoveStorage = (key) => {
    return new Promise((resolve)=>{
        wx.removeStorage({
            key,
            complete(res){
                resolve(res)
            }
        })
    })
 }

/**
 * @description 异步从本地清除、移除全部缓冲的数据
 */
export const asyncClearStorage = (key) => {
    return new Promise((resolve)=>{
        wx.clearStorage({
            key,
            complete(res){
                resolve(res)
            }
        })
    })
}
 
